// 所有管理端后台接口

'use strict';
const Controller = require('egg').Controller;
class MainController extends Controller {
  async index() {
    // 首页列表数据
    console.log(this.ctx.body = 'hi api');
  }
// 验证登录用户名密码
async checkLogin(){
    // 注意是post请求 中台路由也是post。post接受参数是this.ctx.request.body 
    // get请求接受参数this.ctx.params.id//还有一种方式
    let userName = this.ctx.request.body.userName
    let password = this.ctx.request.body.password
    // 拿着名字和密码去数据库收缩有没有这名字和密码
    const sql = " SELECT userName FROM admin_user WHERE userName = '"+userName + "' AND password = '"+password+"'"
    console.log(sql)
//mysqle单词报错多了
    const res = await this.app.mysql.query(sql)
    console.log(res)
    if (res.length>0) {
        //登录成功,进行session缓存
        let openId=new Date().getTime()
        // 前台提交登录后台验证成功厚生成optionid保存本地同时返回信息给前台。后面别的接口携带每次匹配optionid。
        // 我们生成了session，通过后台是不是存在对应的session，作一个中台的路由守卫。如果没有登录，是不允许访问后台对应的接口，也没办法作对应的操作。这样就实现了接口的安全。
        this.ctx.session.openId={ 'openId':openId }
        console.log(this.ctx.session.openId,this.ctx)

        this.ctx.body={'data':'登录成功','openId':openId}
    }else{
        this.ctx.body={data:'登录失败'}
    } 
    
};
// 文章类别
async getTypeInfo(){
  const resType = await this.app.mysql.select('type')
  this.ctx.body={data:resType}
};
// 增加文章
async addArticle(){
  let tmpArticle = this.ctx.request.body
  console.log(3434,tmpArticle)
  const result = await this.app.mysql.insert('article',tmpArticle)
  const insertSuccess = result.affectedRows===1
  const insertId = result.insertId
  this.ctx.body={
    isScuccess:insertSuccess,
    insertId:insertId
    }
  
}
// 更新文章
async updateArticle(){
  // 比增加多传了id，把所有参数传入update方法自动更新
  let tmpArticle= this.ctx.request.body

    const result = await this.app.mysql.update('article', tmpArticle);
    const updateSuccess = result.affectedRows === 1;
    console.log(updateSuccess)
    this.ctx.body={
        isScuccess:updateSuccess
    }
}
// 获取文章列表
async getArticleList(){
  const list = await this.app.mysql.select('article')
  
  this.ctx.body={data:list}
}

}
module.exports = MainController;
